﻿using llm_net.Models;

namespace llm_net.Services.Abstractions
{
    /// <summary>
    /// 可二次实现此接口，对接真实的向量数据库
    /// </summary>
    public interface IVectorDbService
    {
        /// <summary>
        /// 初始化向量数据库
        /// </summary>
        Task InitializeAsync();

        /// <summary>
        /// 搜索与查询向量最相似的商品
        /// </summary>
        /// <param name="queryVector">查询向量</param>
        /// <param name="topK">返回结果数量</param>
        /// <returns>相似商品列表</returns>
        Task<List<Product>> SearchSimilarProductsAsync(float[] queryVector, int topK);
    }
}
